import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component

// register globally
Vue.component('svg-icon', SvgIcon)

// webpack 给我们提供 require.context() 方法，实现批量导入文件，接收三个参数，返回值是一个函数，返回值函数可以接受文件路径作为参数，导入对应模块
// - 参数1：文件路径【svg 文件】
// - 参数2：是否查找子目录
// - 参数3：文件匹配的正则【以 .svg 结尾的文件】
const req = require.context('./svg', false, /\.svg$/)

// - req()：require.context() 方法的返回值，也是一个函数 ==>
// *--- req() 可以接收路径作为参数，根据路径，把对应的模块，导入进来
// -- req() 函数上又有一个 keys() 方法
// *--- keys() 方法的返回值是一个数组,数组里包含所有匹配到的 .svg 文件路径

const requireAll = requireContext => requireContext.keys().map(requireContext)

/* const requireAll = (fn) => {
  // fn.keys() 数组的每一项都会调用一下 fn() 函数
  return fn.keys().map((item) => {
    return fn(item) // 最终的目的是获取符合要求的文件路径，调用 fn() 函数
  })
} */

requireAll(req)
